using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FriendlyChallengeHelper")]
	public class FriendlyChallengeHelper : MonoClass
	{
		public AlertPopup m_friendChallengeWaitingPopup => method_3<AlertPopup>("m_friendChallengeWaitingPopup");

		public FriendlyChallengeHelper(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FriendlyChallengeHelper(IntPtr address)
			: this(address, "FriendlyChallengeHelper")
		{
		}

		public static FriendlyChallengeHelper Get()
		{
			return MonoClass.smethod_15<FriendlyChallengeHelper>(TritonHs.MainAssemblyPath, "", "FriendlyChallengeHelper", "Get", Array.Empty<object>());
		}
		public void StartChallengeOrWaitForOpponent(string waitingDialogText, AlertPopup.ResponseCallback waitingCallback)
        {
			method_11<bool>("StartChallengeOrWaitForOpponent", new object[2] { waitingDialogText, waitingCallback });
		}
		public void HideFriendChallengeWaitingForOpponentDialog()
		{
			method_8("HideFriendChallengeWaitingForOpponentDialog");
		}

		public void WaitForFriendChallengeToStart()
		{
			method_8("WaitForFriendChallengeToStart");
		}

		public void StopWaitingForFriendChallenge()
		{
			method_8("StopWaitingForFriendChallenge");
		}

		public bool OnFriendChallengeWaitingForOpponentDialogProcessed(DialogBase dialog, object userData)
		{
			return method_11<bool>("OnFriendChallengeWaitingForOpponentDialogProcessed", new object[2] { dialog, userData });
		}
	}
}
